#ifndef RESETDIALOG_H
#define RESETDIALOG_H

#include <QDialog>
#include <global.h>

namespace Ui {
class ResetDialog;
}

class ResetDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ResetDialog(QWidget *parent = nullptr);
    ~ResetDialog();
signals:
    void signals_switch_to_login();
private slots:
    void on_get_btn_clicked();
    void slot_reset_mod_finish(ReqId id, QString res, ErrorCodes err);
    void on_sure_btn_clicked();

private:
    Ui::ResetDialog *ui;

    QMap<ReqId,std::function<void(const QJsonObject&)>> _handlers;
    QMap<TipErr,QString> _tip_errs;
    void initHttpHandlers();
    void showTip(const QString& str,bool ok);
    void AddTipErr(TipErr te,QString tips);
    void DelTipErr(TipErr te);
    bool checkUserValid();
    bool checkPassValid();
    bool checkEmailValid();
    bool checkVarifyValid();
};

#endif // RESETDIALOG_H
